$Description$
$Elaxia$最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑、仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑。 现在给出一张学校附近的地图,这张地图中包含$N$个十字路口和$M$条街道,$Elaxia$只能从 一个十字路口跑向另外一个十字路口,街道之间只在十字路口处相交。Elaxia每天从寝室出发 跑到学校,保证寝室编号为$1$,学校编号为$N$.$Elaxia$的晨跑计划是按周期(包含若干天)进行的,由于他不喜欢走重复的路线,所以 在一个周期内,每天的晨跑路线都不会相交(在十字路口处),寝室和学校不算十字路 口。$Elaxia$耐力不太好,他希望在一个周期内跑的路程尽量短,但是又希望训练周期包含的天 数尽量长。 除了练空手道,$Elaxia$其他时间都花在了学习和找$MM$上面,所有他想请你帮忙为他设计 一套满足他要求的晨跑计划。
存在$1\rightarrow n$的边存在。这种情况下,这条边只能走一次。
$Solution$
边$(a,b)$表示容量为$a$,费用为$b$
由于在一个周期内,除了$1$和$n$,一个点只能走一次,于是考虑拆点,将每个点$i$拆成$i_1~$和$i_2~$,对于$1_1$和$1_2$,$n_1$和$n_2$之间连$(inf,0)$,其余连$(1,0)$.并从$s$到$1_1$连$(inf,0)$,$n_2$到$~t$连$(inf,0)$
对于每条读入的边(从$u$到$v$,边权为$d$),从$u_2$到$v_1$连$(1,d)$
最后跑费用流即可
$Code$
1 |
|